package fr.unice.poo.module;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JMenuItem;
import javax.swing.tree.DefaultMutableTreeNode;

import fr.unice.poo.application.Application;
import fr.unice.poo.application.Plugin;

public class UnPlug2 extends Arborescence implements Plugin {

	JButton bouton = new JButton("Bouton de mon 2eme plugin !");
	
	@Override
	public void plug(final Application a, ActionEvent arg0) {
		System.out.println("test");
		//on fait passer le plugin dans le menu unPlug
		a.unPlugM.add(new AbstractAction(getName()) {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				unPlug(a, arg0);
			}

		});
		if (a.start==false)a.plugM.remove((JMenuItem) (arg0.getSource()));//supprime l'item dans le menu Plug

		//CE QU'AJOUTE NOTRE PLUGIN
		a.add(bouton,bl.SOUTH);
		a.getContentPane().repaint();
		a.validate();
        a.pluginActive.add(this);
	}

	@Override
	public void unPlug(final Application a, ActionEvent arg0) {
		//on fait passer le plugin dans le menu unPlug
		a.plugM.add(new AbstractAction(getName()) {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				plug(a, arg0);
			}

		});
		a.unPlugM.remove((JMenuItem) (arg0.getSource()));//supprime l'item dans le menu unPlug

		//ON DEMONTE LE PLUGIN
		a.remove(bouton);
		a.getContentPane().repaint();
		a.validate();
                a.pluginActive.remove(this);
	}

	@Override
	public String getName() {
		// TODO Auto-generated method stub
		return "2eme Plug";
	}

}
